Use of a media cache for subsequent copying acceleration

ABSTRACT

The apparent speed with which a media work is ripped to copy the work into a visible store is substantially reduced. When the media work is played, its content is cached onto a persistent, fast access storage media. If the user subsequently decides to rip the media work, the content of the cache is copied to a visible store in substantially less time than would be required to play the media work and convert it. The user thus perceives that the media work is ripped in a substantially shorter time, compared to that required for ripping the media work in a conventional manner. The ripping process may encode or transform the format of the content to a desired format for use within the visible store. Constraints may be imposed by the user to limit the cache, or the caching process may be hidden from the user.

RELATED APPLICATIONS

This application is a continuation of a copending patent applicationSer. No. 10/298,450, filed on Nov. 15, 2002, the benefit of the filingdate of which is hereby claimed under 35 U.S.C. § 120.

FIELD OF THE INVENTION

The present invention generally pertain to creating copies of digitalmedia, and more specifically, pertains to the use of a cache fortemporarily storing media content when the digital media are played sothat as necessary, the content is converted to a different format forstorage in the cache and is thus subsequently available to betransferred to a visible store that is directly exposed to a user,substantially reducing the time required for adding the content to thevisible store.

BACKGROUND OF THE INVENTION

The capability of creating copies of digital works distributed oncompact disk-read only memory (CD-ROM) media, and more recently, ondigital video (or versatile) disk (DVD) media, has resulted in a need toimprove the efficiency and simplicity of the media copying andconversion process. Typically, users want to produce compressed copiesof digital works from original recordings by converting the originalformat of the digital works into a desired format (typically morecompressed than the original) for addition to a library of such works,i.e. to a “visible store.” As used herein, a visible store is acollection of media that is exposed directly to a user, for example, viaa media player, as a database listing of playable works, or through someother exposed mechanism. The tracks of interest to a user that areincluded on a commercial CD-ROM or other form of media storage arecopied onto a hard drive or other form of non-volatile storage. Varioustypes of media compression schemes, such as the moving pictures expertgroup (MPEG) audio layer 3 specification, which produces filesdesignated by the “.mp3” extension, and Microsoft Corporation's WINDOWS™media audio specification, which produces files designated by the “.wma”extension, can be employed for compressing the files that were stored onthe digital media that is being copied. By compressing the data producedby copying tracks with one of these compression schemes, substantiallymore tracks of near original quality can be stored in non-volatilememory by a user, which is particularly important if the user wants tocopy the compressed works onto a portable non-volatile memory medium,such as a CD-ROM, or into the memory of a portable music playing device.

A number of different software programs are available to copy digitalmedia For example, Microsoft Corporation's WINDOWS MEDIA PLAYER™,Musicmatch, Inc.'s MUSICMATCH JUKEBOX™, and Apple Corporation's iTUNES™software programs include functions for copying and converting digitalmedia content into various desired formats. The copying and conversionof digital media is not limited to music; it is becoming increasinglymore common for movies and other works recorded on digital media to becopied and converted into more compressed formats.

However, the process of copying a work recorded on a commercial compactdisk (CD), DVD, or other storage media can require substantial time,even with a relatively fast player. Typically, a user will play adigital media work at least once, and then will subsequently decide torip it, which requires that the work again be “played” to copy it to thedesired format, even if the work is played at a higher than normallistening rate, so that the digital content can be extracted, compressedif necessary, and then copied onto suitable digital media. Some digitalmedia may actually require more time to process when “played” to enableproducing a copy, since even at higher play rates, the processingrequired to put the content into a desired format may be relativelyextensive and time consuming.

Improvements in both hardware and software-based techniques for copyinga digital work have made the process easier and faster, but there isstill a need to increase the speed of the process. Faster hardwareplayers can increase the speed at which a digital work is read from themedium on which it was sold and distributed to the user, but there arelimits to that process. Faster processing hardware can also reduce thetime required to process the content that is extracted from a digitalmedium prior to recording the processed data for storage in anotherformat. However, the copying process will be limited by the speed ofexisting hardware for most users, who may be unable to afford topurchase the very latest and fastest hardware devices for making digitalcopies. Accordingly, it would be desirable to provide a technique toincrease the apparent speed of copying with a user's existing hardwareplayer and processing devices.

In most cases, the greatest contributor to the time required forproducing a copy is in reading the source digital medium to extract thecontent prior to converting the content to another format. Therefore, anapproach is needed that apparently substantially reduces this time,without requiring that a user purchase faster playing or processinghardware.

SUMMARY OF THE INVENTION

In accord with the present invention, a substantial increase is providedin the speed with which digital data stored on a digital medium arecopied so that the digital data are entered into a visible store in aform that is playable. In this method, a user plays the digital mediumat a speed appropriate to experience the content provided by the digitaldata stored on the digital medium. While the digital medium are beingplayed, the digital data are stored in a cache maintained in anon-volatile memory. The cache is accessible at a substantially higherdata rate than the digital content stored on the digital medium.Subsequently, the user can selectively initiate entry of the digitaldata into the visible store on the non-volatile memory. In response, thedigital data in the cache appear in the visible store substantiallyfaster than if transferred from the digital medium in the conventionalmanner.

The digital data can be encoded or transformed into a format desired foruse in the visible store. Or the digital data can simply be copied fromthe source into the cache. Typically, the digital data will be stored inthe cache on a hard drive. In some applications of the invention, thevisible store can be at the same location as the cache, once the userdecides to copy the digital medium.

The method further includes the step of determining if the digital dataare already stored in the cache when the digital medium source issubsequently again played at the speed appropriate to experience thecontent provided by the digital data. It is also contemplated that thedigital data can be stored in the cache only after the digital mediumsource has been played a predefined number of times at the speedappropriate to experience the content provided by the digital data, toavoid caching the content of digital media that are only played a fewtimes and not likely to be copied.

It may also be desirable to limit the digital data stored in the cachein regard to at least one of a lapse of a predefined time interval sincethe digital data were stored in the cache, a predefined limit on anamount of digital data stored in the cache, a predefined percentage ofstorage available in the non-volatile memory, and a predefined number ofdiscrete works of digital data stored in the cache.

The digital data being stored in the cache may be padded and buffered asrequired. To keep track of the digital data that have been cached, adatabase entry is preferably associated with the digital data beingstored in the cache. The database of such entries will also comprise acatalog of digital data works included in the visible store.

In one preferred form of the invention, the cache is hidden so that itis not apparent to the user until the digital data appear in the visiblestore. Also, the cache and visible store can comprise substantially thesame portion of the non-volatile memory.

Another aspect of the present invention is directed to a memory mediumstoring machine instructions for implementing the steps of the methoddiscussed above. Still another aspect of the present invention isdirected to a system for increasing a speed with which digital datastored on a digital medium are copied so that the digital data areentered into a visible store in a form that is playable. The systemincludes a memory in which machine instructions are stored. At least aportion of the memory is non-volatile. The system includes a digitalmedium player that is coupled to at least one of an audio output deviceand a display. Also, a processor is coupled to the memory and thedigital medium player, for executing the machine instructions stored inthe memory. These machine instructions cause the processor to carry outa plurality of functions that are generally consistent with the steps ofthe method described above.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The foregoing aspects and many of the attendant advantages of thisinvention will become more readily appreciated as the same becomesbetter understood by reference to the following detailed description,when taken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a functional block diagram of a conventional personal computer(PC) suitable for use in implementing the present invention;

FIG. 2 is a schematic isometric view of an electronic gaming systemsuitable for implementing the present invention;

FIG. 3A (Prior Art) is a schematic diagram showing the relative timerequired to copy a digital media work using the conventional approach;

FIG. 3B is a schematic diagram showing the substantially shorter timerequired to copy a digital media work using the present invention;

FIG. 4 is a flow chart showing the logical steps implemented whenplaying/copying a digital media work in accord with the presentinvention;

FIG. 5 is a flow chart illustrating details of the steps carried out bythe present invention when a digital media work is played and itscontent cached; and

FIG. 6 is an exemplary user interface for use on a PC, to enable a userto configure options for the cache used in the present invention.

DESCRIPTION OF THE PREFERRED EMBODIMENT

PC for Implementing the Present Invention

With reference to FIG. 1, an exemplary general purpose computing deviceuseful for implementing the present invention is illustrated in the formof a conventional PC 20. While the present invention was initiallydeveloped for use on a electronic game playing system, it will beunderstood that the invention is generally applicable to almost any typeof computing device that might be used to play and copy digital mediaworks (i.e., convert a digital media work stored on a digital mediumfrom one format to another), including, for example, mobile computers,hand held computing devices such as personal data assistants (PDAs),mobile communication devices (e.g., cell phones), and other computingdevices that include some mechanism for playing an audio and/or videomedia work on a digital medium and storing the work in a differentformat in non-volatile memory on the computing device.

An embodiment of the present invention is readily implemented on ageneral purpose computing device such as represented by PC 20. PC 20 isprovided with a processing unit 21, a system memory 22, and a system bus23. The system bus couples various system components, including thesystem memory, to processing unit 21 and may be any of several types ofbus structures, including a memory bus or memory controller, aperipheral bus, and a local bus using any of a variety of busarchitectures. The system memory includes read only memory (ROM) 24 andrandom access memory (RAM) 25. A basic input/output system 26 (BIOS),containing the basic routines that help to transfer information betweenelements within the PC 20, such as during start up, is stored in ROM 24.PC 20 further includes a hard disk drive 27 for reading from and writingto a hard disk (not shown) and may include a magnetic disk drive 28 forreading from or writing to a removable magnetic disk 29, and an opticaldisk drive 30 for reading from or writing to a removable optical disk31, such as a CD-ROM or other optical media, all of which comprisenon-volatile memory media. Hard disk drive 27, magnetic disk drive 28,and optical disk drive 30 are connected to system bus 23 by a hard diskdrive interface 32, a magnetic disk drive interface 33, and an opticaldisk drive interface 34, respectively. The drives and their associatedcomputer readable media provide nonvolatile storage of computer readablemachine instructions, data structures, program modules, and other datafor PC 20. Although the exemplary environment described herein includesa hard disk, removable magnetic disk 29, and removable optical disk 31,it will be appreciated by those skilled in the art that other types ofcomputer readable media, which can store data that are accessible by acomputer, such as magnetic cassettes, flash memory cards, DVDs,Bernoulli cartridges, RAMs, ROMs, and the like, may also be used in theexemplary operating environment.

A number of program modules may be stored on the hard disk, magneticdisk 29, optical disk 31, ROM 24 or RAM 25, including an operatingsystem 35, one or more application programs 36, other program modules37, and program data 38. A user may enter commands and information intoPC 20 through input devices such as a keyboard 40 and a pointing device42. Pointing device 42 may include a mouse, stylus, wireless remotecontrol, or other pointer. Other input devices (not shown) may include ajoystick, game pad, wheel, pedal, microphone, satellite dish, scanner,digital camera, digital video recorder, or the like. These and otherinput/output (I/O) devices are often connected to processing unit 21through an I/O interface 46 that is coupled to the system bus 23. Theterm I/O interface is intended to encompass each interface specificallyused for a serial port, a parallel port, a game port, a keyboard port,and/or a universal serial bus (USB). A monitor 47 or other type ofdisplay device is also connected to system bus 23 via an appropriateinterface, such as a video adapter 48, and is usable to displayapplication programs, Web pages, a simulated environment, and/or otherinformation, including visual content of a digital media work that isbeing played from its original distribution medium, such as a CD-ROM,DVD, or other storage medium. In addition to the monitor, PCs are oftencoupled to other peripheral output devices (not shown), such as speakers55 (through a sound card or other audio interface (not shown)), andprinters (also not shown).

As indicated above, the invention may be developed and practiced on asingle computing device; however, PC 20 may operate in a networkedenvironment using logical connections to one or more remote computers,such as a remote computer 49. Remote computer 49 may be another PC, aserver (which is typically generally configured much like PC 20), arouter, a network PC, a game console, a peer device, a satellite, orother common network node. Remote computer 49 may include many or all ofthe elements described above in connection with PC 20. So as not to makeFIG. 1 unnecessarily complex, remote computer 49 is shown with only anexternal memory storage device 50. The logical connections depicted inFIG. 1 include a local area network (LAN) 51 and a wide area network(WAN) 52. Such networking environments are common in offices, enterprisewide computer networks, intranets, and the Internet. When coupled to theInternet, digital media works can be downloaded from a remote server andsubsequently played and copied for storage on a selected non-volatilemedia (typically on a hard drive, but also on any other form ofnon-volatile storage) in a desired format that typically is more compactthan the form of the digital media work when first played.

When used in a LAN networking environment, PC 20 is connected to LAN 51through a network interface or adapter 53. When used in a WAN networkingenvironment, PC 20 typically includes a modem 54, or other means such asa cable modem, Digital Subscriber Line (DSL) interface, or an IntegratedService Digital Network (ISDN) interface, for establishingcommunications over WAN 52. One type of WAN commonly used forcommunication is the Internet. Modem 54, which may be internal orexternal, is connected to the system bus 23 or coupled to the bus viaI/O device interface 46, i.e., through a serial port. In a networkedenvironment, program modules depicted relative to PC 20, or portionsthereof, may be stored in the remote memory storage device. It will beappreciated that the network connections shown are exemplary and othermeans of establishing a communications link between the computers may beused, such as wireless communication and wide band network links.

Electronic Gaming Console Environment

As shown in FIG. 2, an exemplary electronic gaming system 100 that issuitable for practicing the present invention includes a game console102 and support for up to four user input devices, such as controllers104 a and 104 b. Game console 102 is equipped with an internal hard diskdrive (not shown in this Figure), which provides non-volatile storage,and a portable media drive 106 that supports various forms of portableoptical storage media, as represented by an optical storage disk 108.Examples of suitable portable storage media include DVD disks and CD-ROMdisks. In this gaming system, game programs are preferably distributedfor use with the game console on DVD disks, but it is also contemplatedthat other storage media might instead be used on this or other types ofsystems that employ the present invention.

On a front face of game console 102 are four slots 110 for connection tosupported controllers, although the number and arrangement of the slotsmay be modified. A power button 112 and an eject button 114 are alsopositioned on the front face of game console 102. Power button 112controls application of electrical power to the game console, and ejectbutton 114 alternately opens and closes a tray (not shown) of portablemedia drive 106 to enable insertion and extraction of storage disk 108,so that the digital data on it can be read for use by the game console.

Game console 102 connects to a television or other display monitor orscreen (not shown) via audio/visual (A/V) interface cables 120. A powercable plug 122 conveys electrical power to the game console whenconnected to a conventional alternating current line source (not shown).Game console 102 includes an Ethernet data connector 124 to transfer andreceive data over a network (such as through a connection to a hub or aswitch (not shown), or over the Internet, for example, through aconnection to an xDSL interface, a cable modem, or other broadbandinterface (not shown). Other types of game consoles that implement thepresent invention may be coupled together or to a remote server, bycommunicating using a conventional telephone modem, but the ability toconnect to another computer or game console is not particularly relevantto the present invention.

Each controller 104 a and 104 b is coupled to game console 102 via alead (or alternatively through a wireless interface). In the illustratedimplementation, the controllers are USB compatible and are connected togame console 102 via USB cables 130; however, it is contemplated thatother types of data interfaces may instead be employed. Game console 102may be equipped with any of a wide variety of user devices forinteracting with and controlling the game software. As illustrated inFIG. 2, each controller 104 a and 104 b is equipped with two thumbsticks132 a and 132 b, a D-pad 134, buttons 136, and two triggers 138. Thesecontrollers are merely representative, and other gaming input andcontrol devices may be substituted for or added to those shown in FIG. 1for use with game console 102.

A removable function unit 140 can optionally be inserted into eachcontroller 104 a and 104 b to provide additional features and functions.For example, a portable memory unit (MU) enables users to store gameparameters and port them for play on other game consoles, by insertingthe portable MU into a controller connected to the other game console.Another removable functional unit comprises a voice communication unitthat enables a user to verbally communicate with other users locallyand/or over a network. Connected to the voice communication unit is aheadset 142 a, which includes a boom microphone 144 a. The circuitry ofthe voice communication unit may alternatively be integrated into thecontroller and a headset 142 b with boom microphone 144 b, may beremovably or permanently connected to the controller. Preferably, eachcontroller is configured to accommodate two removable function units,although more or fewer than two removable function units or modules mayinstead be employed.

Gaming system 100 is capable of playing a variety of types of digitalmedia works, including, for example, music and videos. It iscontemplated that other functions can be implemented using digital datastored on the hard disk drive or read from optical storage disk 108 indrive 106, or using digital media works obtained from an online source,or from a MU. For example, gaming system 100 is potentially capable ofplaying:

-   -   Digital music stored on a CD in portable media drive 106, in a        file on the hard disk drive (e.g., WINDOWS MEDIA AUDIO™ (WMA)        format), or derived from online streaming sources on the        Internet or other network; and    -   Digital A/V data stored on a DVD disk in portable media drive        106, or in a file on the hard disk drive (e.g., after the media        work has been copied and converted to an Active Streaming        Format), or from online streaming sources on the Internet or        other network.        Comparison of Required Time for Copying

As noted above, the present invention addresses the perceivedinefficiencies in the conventional approach used for copying digitalmedia works, both music, video, and other forms of media presentationsthat are recorded in one format so that the work is converted to adifferent format desired for playback and further usage by the user. Aschematic view 150 in FIG. 3 illustrates the conventional or prior artapproach for copying such a media work. In the conventional approach,there is essentially no interaction between the player of the media andthe persistent fast storage such as a hard disk 27 or other non-volatilestorage medium. In the prior art approach, a user may have alreadyplayed the digital media work from one to N times, before deciding thatthe media work should be copied and converted to a different format thatwill be stored on a hard disk or other persistent storage in a visiblestore. Once the user decides to copy the media content from itsoriginally distributed form, a media copy 154 is made in the convertedform. However, the time required to copy the work will likely be as longor longer than a duration 152, which is the time required to play themedia work. Accordingly, the user must wait a relatively long time formedia copy 154 to be produced by the conventional ripping approach,which is both frustrating and inefficient.

A schematic diagram 160 in FIG. 3B illustrates the approach used in thepresent invention for ripping a media work. Typically, the first timethat a media work is played, a copy of the digital media work isautomatically cached in persistent fast storage media such as on a harddisk. The user is generally unaware that the cache of the work is beingcreated and is able to experience the media work while the copy isautomatically added to the persistent fast storage media. Subsequently,the user may decide to play the media work additional times beforedeciding to rip the media work to produce a copy. However, when the userdecides to rip the media work, the apparent time required to form amedia copy 164 is substantially less than a duration 162 that isrequired to play the media work, since the media content has been storedin the cache maintained on the persistent fast storage media.

Logical Steps for Implementing the Present Invention

In FIG. 4, a flow chart 200 gives further details of the logical stepsemployed in a preferred embodiment for implementing the presentinvention. In certain applications of this invention, it may bepreferable for the user to be unaware of the automatic caching of thecontent of media work that occurs when the user plays the work. However,in other applications of the invention, the user can be provided a userinterface for controlling certain parameters of the cache used to storethe content of the media work. For example, PC 20 will likely implementan interactive form of the invention in which the user will be allowedto select certain parameters for the cache, as described below inconnection with FIG. 6. As implemented on electronic gaming system 100,the automatic caching of the media work will occur when it is initiallyplayed will be generally hidden from the user. Thus, a decision step 202determines if the user is able to configure options that define certainparameters relating to the caching of the media work on the user's harddrive or other persistent non-volatile storage medium (or has alreadydone so). If the user is to configure the options, a step 204 providesthe user the opportunity to selectively set at least one of a pluralityof different cache parameters 206, 208, 210, and 212. In a block 206,the user can define the size of the cache that is allocated for storingmedia works. Clearly, since the cache employs a portion of a hard driveor other persistent non-volatile storage media, the user may want tolimit the amount of the persistent storage used for this purpose so asnot to interfere with other uses of the persistent storage.Alternatively, the user can set a percentage of the hard drive or otherpersistent storage media that will be used for the caching of mediaworks. As yet another option, the user can determine the number of itemsthat will be maintained in the cache. In accord with this limitation, afirst-in-first-out approach is adhered to, so that once the desirednumber of items in the cache has been achieved, the oldest item in thecache will be expired and overwritten or deleted to enable a newer mediawork content to be added to the cache. Finally, in a block 212, the usercan define the time that an item will be retained within the cache. Itwill be apparent that if a user plays a media work one or more times,but does not elect to rip the media work into a different format withina predefined time limit, it is unlikely that the user will want to ripthe work. Accordingly, once the time limit has been exceeded, a mediawork will be deleted from the cache, making room for storing the contentof another media work in the cache.

After one or more of steps 206-212 have been selected by a user, a usercan also determine whether to expose the process of creating a cache ofa media work that is being played, or to carry it out automatically, ina step 214. Again, in initial preferred embodiments of the presentapplication, the steps corresponding to an affirmative determination indecision step 202 will preferably only apply to the PC application ofthe invention and will not be employed in the electronic gaming systemapplication.

Assuming that the user is given the opportunity to select the parametersfor the cache as described above, or alternatively, after the parametershave been selected, a decision step 216 determines whether a media workthat is currently being accessed by the user should be ripped in thebackground to create a “visible store” or played so that the userexperiences the media work. If the user decides to rip the work in thebackground, a decision step 218 determines if the media content hasalready been cached. If so, the present invention “copies” the mediawork content from the cache to the visible store. Since the cache ismaintained on a persistent fast access storage media, such as a harddisk, the copying operation carried out to rip the work requires arelatively short time compared to the actual time required to play themedia work. However, if the media work has not yet been cached, aconventional ripping process is applied in a step 222. In thisconventional process, the media work is read and encoded to create theform or format that will be used in the visible store. This conventionalripping process occurs in real time, as indicated in the prior artapproach of FIG. 3A. After either step 220 or 222, the logic returns todecision step 216.

If the user decides to play the media work in decision step 216, adecision step 224 determines if the media work has already been cached.If so, the media work is simply played, as indicated in a step 226.However, if the media work has not yet been cached, as would be the casethe first time the media work is played by the user, a step 228 playsthe media work and also creates a cache of the content of the media workwhile the work is playing so that subsequently, if the user decides torip the media work, step 220 can be carried out to copy the content ofthe media work from the cache to the visible store.

As used herein, the term “visible store” refers to a catalog of rippedmedia works that are available in a desired format, typically differentthan the original format of a media work, for use in playing the mediawork. For example, when a music compact disk (CD) is played, the contentof the music CD can be converted into Microsoft Corporation's WINDOWS™media audio file format. It is also contemplated that other forms ofcontent can also be employed, such as Microsoft Corporation's WINDOWS™media video file format. As a still further alternative, other types ofcompressed file formats may be desired, such as the MPEG Audio Layer 3format. By creating the cache of the media content in the desired formwhile playing a media work, an entry of the work in the visible store inthe format desired can quickly be achieved in response to a decision torip the work, simply by copying the content that has been converted andstored in the cache over to the visible store of the user. Indeed, foruse on the electronic gaming system, the cache maintained on thepersistent fast access storage media or hard drive will be in the samelocation on the persistent storage media as the visible storage, butwill not be visible to the user until the user affirmatively decides torip the media work whose content is stored within the cache. Thus, inthis case, the copying of the content simply converts the content froman invisible cached content to an entry in the visible store for use andaccess by the user.

In FIG. 5, further details of the steps implemented when playing andcaching a digital media work are illustrated, beginning with a step 229in which the digital media work is played. A decision step 230 thendetermines if a cache for the digital media work currently exists. Ifso, a step 232 checks the constraints (if any are permitted or have beenentered by the user) relating to the size, duration of storage, and/orother parameters noted above for the cache. As required, a media workthat is currently stored in cache may be moved, deleted, or simplyindicated as expired, as appropriate based upon the constraints that areapplied.

A negative response to decision step 230 leads to a step 236, whichcreates an entry in a database that tracks the media works that aremaintained within the cache. A step 328 applies any padding andbuffering required, depending upon the type of media work. For example,an audio media work may require five megabyte slots to be set aside forbuffering, while a video media work may require 500 megabyte slots forthis purpose. A step 240 validates that storage is available for cachingthe media work. Again, step 232 is repeated to determine if anyconstraints might prevent the media work from being cached, or todetermine if previously cached media works need to be deleted or movedfrom the cache, in accordance with the constraints.

A decision step 234 determines if the media work that was previouslycached has been moved, deleted, or expired. If not, the media workexists within the cache and has not been removed. Accordingly, a step242 simply plays the digital data comprising the content of the mediawork, and the logical process is complete. However, if the media workthat was cached has been moved, deleted, or expired, or alternatively ifa new entry in the cache for the media work must be created, a step 244reads and encodes the data comprising the content of the media work asrequired. It should be noted that step 244 can involve simply copyingthe content of the media work to the cache, if no conversion isrequired, but will more typically involve either encoding ortransforming the content to another format. Also, it should be notedthat the transforming can be from one compressed format to a differentcompressed format.

In a step 246, the data resulting from the process carried out in step244 is streamed as a data file. A step 248 commits the streamed datafile to the cache by providing header information, including a label,and a time and date stamp, and then writing the metadata for the contentto the cache provided on the persistent fast storage media. A decisionstep 250 determines if all of the content or tracks comprising the mediawork have been processed, and if so, the logic is completed. If not,however, a step 252 advances to the digital data comprising the nexttrack on the media work. Thereafter, step 244 and following steps arerepeated in regard to the digital content of the next track.

An initial application of the present invention to the electronic gamingsystem of FIG. 2 is expected to enable a cache capable of holding thecontent of about 200 music CDs. However, since the cache and the visiblestorage occupy the same portion of the available space allocated forstoring media works, ripping the works that are in the cache so thatthey now appear in visible storage does not increase the total number ofdisks that might be stored on the persistent, fast access storage media.On a PC having a relatively large persistent fast access storage mediaor hard drive, many more works of various types can be cached before theworks are converted to visible storage. Also, the visible storage on PC20 will likely be maintained on a different portion of the persistent,fast access storage media.

FIG. 6 illustrates a user interface 270 provided to enable a user toselect the various parameters relating to the cache of media works. Userinterface 270 includes a radio button 272 that can be selected by theuser to designate a raw size for the media cache. When radio button 272is selected, a slider 274 can be set to designate the number ofmegabytes of storage allocated to the media cache. Alternatively, aradio button 276 can be selected, enabling a slider 278 to be moved toset a desired percentage of the persistent, fast access storage media orhard drive that is allocated to caching the content of media works. Inthis example, the range of available percentages is from 5 percent to 50percent. However, different ranges for both the percentage of the driveand the allocated storage size can be provided, depending upon the typeand the size of the storage media. An indicator bar 280 includessegments 282 to visually designate the current cache percentageutilization.

In addition, user interface 270 includes a check box 284, which ifchecked, limits the items in the cache so that only a designated numberof items will be allowed in the cache, as entered within a dropdown textbox 286. A check box 288 can be selected to indicate that the user onlywants to permit frequently played media works to be cached.

Accordingly, although a media work would typically be cached upon itsfirst play, the user can select this option to indicate that a mediawork will only be cached after it has been played a minimum number oftimes, as entered within a dropdown text box 290. By selecting thisoption, the user would prevent the content of a media work from beingadded to the cache if the media work is played fewer than the number oftimes indicated in dropdown text box 290. A cancel button 292 and anapply button 294 are included to enable the user to either cancel thechanges made in user interface 270 or to apply and close the interface.

Although the present invention has been described in connection with thepreferred form of practicing it and modifications thereto, those ofordinary skill in the art will understand that many other modificationscan be made to the present invention within the scope of the claims thatfollow. Accordingly, it is not intended that the scope of the inventionin any way be limited by the above description, but instead bedetermined entirely by reference to the claims that follow.

1. A method of presenting a user with settings of a plurality ofadjustable parameters on an electronic visual display, where at leastone user selected adjustable parameter setting is applicable to cachinga converted form of a digital data work in a temporary storage providedin a non-volatile memory, to enable a later, selective apparent rapidconversion of the converted digital data work to a playable form that isavailable in a visible store, said storage occurring during play of thedigital data work stored on a removable digital medium, the methodcomprising the steps of: (a) providing a plurality of user adjustableparameter settings in the electronic visual display, said parametersettings controlling how much of an available non-volatile memory isused for the temporary storage of converted digital data works; (b)enabling the user to select at least one of the plurality of adjustableparameter settings in the visual display for adjustment; (c) enablingthe user to selectively set the adjustable parameter setting that wasselected; and (d) responding to the user setting the adjustableparameter setting that was selected and set, so that the setting affectshow much of an available non-volatile memory is used for the temporarystorage of the converted digital data works.
 2. A method for enabling auser to interactively control a parameter setting via an electronicvisual display for temporary storage in a non-volatile memory, of adigital data work that is cached in the temporary storage to facilitatea later, selective, apparent rapid processing of the digital data workto a playable format that is available in a visible store, said storageoccurring during play of the digital data work stored on a removabledigital medium, the method comprising the steps of: (a) enabling theuser to select a new parameter setting in the visual display, such thatwhen the user plays the digital data work, the digital data work isconverted and the converted digital work is cached per the new parametersetting in the non-volatile memory that is not visible to the user; else(b) employing a previous parameter setting, such that when the userplays the digital data work, the digital data work is converted and theconverted digital work is cached per the previous parameter setting inthe non-volatile memory, so that the user setting of the previousparameter affects how much of an available non-volatile memory is usedfor the temporary storage of digital data works.
 3. The method of claim2, further comprising the step of converting the digital data work to acompressed form when temporarily storing the digital data work in thenon-volatile memory, the compressed form comprising the playable format.4. The method of claim 2, further comprising the step of enabling theuser to position a selector to set the new parameter setting, whereinthe new parameter setting comprises the step of setting a limit that isone of: (a) a size of the non-volatile memory that is made available forthe temporary storage of the digital data works; (b) a percentage of thenon-volatile memory that is made available for the temporary storage ofthe digital data works; (c) a number of digital data works stored in thenon-volatile memory; and (d) a number of times the digital data work onthe removable media is played without the user electing to selectivelyinitiate the transfer of the digital data work to the playable formatthat is then available in the visible store.
 5. The method of claim 4,wherein the limit can be set for one of, but not both of: (a) the sizeof the non-volatile memory that is made available for the temporarystorage of the digital data works; and (b) the percentage of thenon-volatile memory that is made available for the temporary storage ofthe digital data works.
 6. The method of claim 4, wherein when the limitis exceeded, further comprising one of the steps of: (a) overwriting adigital data work that has been temporarily stored in the non-volatilememory for a longest time; and (b) deleting the digital data work thathas been temporarily stored in the non-volatile memory for the longesttime.
 7. The method of claim 6, further comprising the step ofautomatically adding another converted digital data work to the cachefor temporary storage in the non-volatile memory each time that adigital data work stored on a removable digital medium is played, if thedigital work being played is not already stored in the cache.
 8. Themethod of claim 4, further comprising the step of deleting the digitaldata work from the temporary storage in non-volatile memory when thelimit has been exceeded for the number of times the digital data workmay be played on the removable digital medium without the user electingto selectively initiate the transfer of the digital data work to theplayable format that is available in the visible store.
 9. The method ofclaim 4, further comprising the step of presenting a percentage of theavailable non-volatile memory currently being used for temporary storageof digital data works, on the visual display.
 10. A memory mediumstoring machine executable instructions for implementing the steps ofclaim
 2. 11. A system that enables a user to interactively control aparameter setting for temporary storage in a non-volatile memory, of adigital data work that is cached in a temporary storage to facilitate alater, selective, apparent rapid conversion of the digital data work toa playable format available in a visible store, said temporary storageoccurring during play of the digital data work on a removable digitalmedium, comprising: (a) a visual display; (b) a processor coupled to thevisual display; and (c) a memory including a non-volatile portion thatis not visible and a visible store that is non-volatile, said memorybeing coupled to the processor and storing machine instructions causingthe processor to: (i) enable the user to select a new parameter settingin the visual display, such that when the user plays the digital datawork on the removable digital medium, the digital data work is convertedto a converted digital work that is cached in the non-volatile portionof memory per the new parameter setting; else (ii) employ a previousparameter setting, such that when the user plays the digital data work,the digital data work converted to the converted digital work that iscached per the previous parameter setting in the non-volatile portion ofthe memory, so that the user setting of the previous parameter affectshow much of an available non-volatile portion of the memory is used forthe temporary storage of digital data works.
 12. The system of claim 11,wherein the machine instructions further cause the processor to convertthe digital data work to a compressed form when temporarily storing thedigital data work in the non-volatile portion of the memory, thecompressed form comprising the playable format.
 13. The system of claim11, wherein the new parameter setting comprises a limit on one of: (a) asize of the non-volatile portion of the memory that is made availablefor the temporary storage of the converted digital data works; (b) apercentage of the non-volatile portion of the memory that is madeavailable for the temporary storage of the digital data works; (c) anumber of the digital data works stored in the non-volatile portion ofthe memory; and (d) a number of times the digital data work on theremovable media is played without a user electing to selectivelyinitiate the transfer of the digital data work to the playable formatthat is then available in the visible store.
 14. The system of claim 13,wherein the limit can be set for one of, but not both of: (a) the sizeof the non-volatile portion of the memory that is made available for thetemporary storage of the digital data works; and (b) the percentage ofthe non-volatile portion of the memory that is made available for thetemporary storage of the digital data works.
 15. The system of claim 13,wherein when the limit is exceeded, the machine instructions furthercause the processor to perform one of: (a) overwriting a digital datawork that has been temporarily stored in the non-volatile portion of thememory for a longest time; and (b) deleting the digital data work thathas been temporarily stored in the non-volatile portion of the memoryfor the longest time.
 16. The system of claim 15, wherein the machineinstructions further cause the processor to automatically enable theuser to add another digital data work to the cache.
 17. The system ofclaim 13, wherein the machine instructions further cause the processorto delete the digital data work from the temporary storage innon-volatile portion of the memory when the limit has been exceeded forthe number of times the digital data work may be played on the removabledigital medium without the user electing to selectively initiate thetransfer of the digital data work to the playable format that isavailable in the visible store of the memory.
 18. The system of claim17, wherein the machine instructions further cause the processor to addanother digital data work to the cache for temporary storage in thenon-volatile portion of the memory each time that a digital data workstored on a removable digital medium is played, if the digital workbeing played is not already stored in the cache.
 19. The system of claim13, wherein the machine instructions further cause the processor topresent a percentage of the available non-volatile portion of the memorycurrently being used for temporary storage of digital data works, on thevisual display.